itk_module_test()
set(
  ITKDisplacementFieldTests
  itkComposeDisplacementFieldsImageFilterTest.cxx
  itkDisplacementFieldJacobianDeterminantFilterTest.cxx
  itkIterativeInverseDisplacementFieldImageFilterTest.cxx
  itkLandmarkDisplacementFieldSourceTest.cxx
  itkInverseDisplacementFieldImageFilterTest.cxx
  itkInvertDisplacementFieldImageFilterTest.cxx
  itkDisplacementFieldToBSplineImageFilterTest.cxx
  itkDisplacementFieldTransformTest.cxx
  itkGaussianSmoothingOnUpdateDisplacementFieldTransformTest.cxx
  itkBSplineSmoothingOnUpdateDisplacementFieldTransformTest.cxx
  itkGaussianExponentialDiffeomorphicTransformTest.cxx
  itkBSplineExponentialDiffeomorphicTransformTest.cxx
  itkTimeVaryingVelocityFieldTransformTest.cxx
  itkTimeVaryingVelocityFieldIntegrationImageFilterTest.cxx
  itkTimeVaryingBSplineVelocityFieldTransformTest.cxx
  itkTransformToDisplacementFieldFilterTest.cxx
  itkTransformToDisplacementFieldFilterTest1.cxx
  itkDisplacementFieldTransformCloneTest.cxx
  itkExponentialDisplacementFieldImageFilterTest.cxx
)

createtestdriver(ITKDisplacementField "${ITKDisplacementField-Test_LIBRARIES}" "${ITKDisplacementFieldTests}")

itk_add_test(
  NAME
  itkComposeDisplacementFieldsImageFilterTest
  COMMAND
  ITKDisplacementFieldTestDriver
  itkComposeDisplacementFieldsImageFilterTest
)
itk_add_test(
  NAME
  itkDisplacementFieldJacobianDeterminantFilterTest
  COMMAND
  ITKDisplacementFieldTestDriver
  itkDisplacementFieldJacobianDeterminantFilterTest
)
itk_add_test(
  NAME
  itkIterativeInverseDisplacementFieldImageFilterTest
  COMMAND
  ITKDisplacementFieldTestDriver
  itkIterativeInverseDisplacementFieldImageFilterTest
  ${ITK_TEST_OUTPUT_DIR}/itkIterativeInverseDisplacementFieldImageFilterTest.mha
  5
  0
)
itk_add_test(
  NAME
  itkLandmarkDisplacementFieldSourceTest
  COMMAND
  ITKDisplacementFieldTestDriver
  itkLandmarkDisplacementFieldSourceTest
  ${ITK_TEST_OUTPUT_DIR}/itkLandmarkDisplacementFieldSourceTestLandmarks.txt
  ${ITK_TEST_OUTPUT_DIR}/itkLandmarkDisplacementFieldSourceTest.mha
)
itk_add_test(
  NAME
  itkInverseDisplacementFieldImageFilterTest
  COMMAND
  ITKDisplacementFieldTestDriver
  itkInverseDisplacementFieldImageFilterTest
  ${ITK_TEST_OUTPUT_DIR}/itkInverseDisplacementFieldImageFilterTest.mha
)
itk_add_test(
  NAME
  itkDisplacementFieldTransformTest
  COMMAND
  ITKDisplacementFieldTestDriver
  itkDisplacementFieldTransformTest
  1e-6
  1e-6
)
itk_add_test(
  NAME
  itkGaussianSmoothingOnUpdateDisplacementFieldTransformTest
  COMMAND
  ITKDisplacementFieldTestDriver
  itkGaussianSmoothingOnUpdateDisplacementFieldTransformTest
)
itk_add_test(
  NAME
  itkBSplineSmoothingOnUpdateDisplacementFieldTransformTest
  COMMAND
  ITKDisplacementFieldTestDriver
  itkBSplineSmoothingOnUpdateDisplacementFieldTransformTest
)
itk_add_test(
  NAME
  itkGaussianExponentialDiffeomorphicTransformTest
  COMMAND
  ITKDisplacementFieldTestDriver
  itkGaussianExponentialDiffeomorphicTransformTest
)
itk_add_test(
  NAME
  itkBSplineExponentialDiffeomorphicTransformTest
  COMMAND
  ITKDisplacementFieldTestDriver
  itkBSplineExponentialDiffeomorphicTransformTest
)
itk_add_test(
  NAME
  itkTimeVaryingVelocityFieldTransformTest
  COMMAND
  ITKDisplacementFieldTestDriver
  itkTimeVaryingVelocityFieldTransformTest
)
itk_add_test(
  NAME
  itkTimeVaryingVelocityFieldIntegrationImageFilterTest
  COMMAND
  ITKDisplacementFieldTestDriver
  itkTimeVaryingVelocityFieldIntegrationImageFilterTest
  0.3
  0.75
  100
  0.2
  0.8
  50
  1.0
  0.0
  100
)
itk_add_test(
  NAME
  itkTimeVaryingBSplineVelocityFieldTransformTest
  COMMAND
  ITKDisplacementFieldTestDriver
  itkTimeVaryingBSplineVelocityFieldTransformTest
)
itk_add_test(
  NAME
  itkInvertDisplacementFieldImageFilterTest
  COMMAND
  ITKDisplacementFieldTestDriver
  itkInvertDisplacementFieldImageFilterTest
  50
  0.1
  0.001
  0
)
itk_add_test(
  NAME
  itkDisplacementFieldToBSplineImageFilterTest
  COMMAND
  ITKDisplacementFieldTestDriver
  itkDisplacementFieldToBSplineImageFilterTest
)
itk_add_test(
  NAME
  itkTransformToDisplacementFieldFilterTest01
  COMMAND
  ITKDisplacementFieldTestDriver
  --compare
  ${ITK_TEST_OUTPUT_DIR}/itkTransformToDisplacementFieldFilterTestField01.mha
  DATA{Baseline/itkTransformToDisplacementFieldFilterTestField01.mha}
  itkTransformToDisplacementFieldFilterTest
  Affine
  ${ITK_TEST_OUTPUT_DIR}/itkTransformToDisplacementFieldFilterTestField01.mha
)
itk_add_test(
  NAME
  itkTransformToDisplacementFieldFilterTest02
  COMMAND
  ITKDisplacementFieldTestDriver
  --compare
  ${ITK_TEST_OUTPUT_DIR}/itkTransformToDisplacementFieldFilterTestField02.mha
  DATA{Baseline/itkTransformToDisplacementFieldFilterTestField02.mha}
  itkTransformToDisplacementFieldFilterTest
  BSpline
  ${ITK_TEST_OUTPUT_DIR}/itkTransformToDisplacementFieldFilterTestField02.mha
  DATA{${ITK_DATA_ROOT}/Input/parametersBSpline.txt}
)
itk_add_test(
  NAME
  itkTransformToDisplacementFieldFilterTest03
  COMMAND
  ITKDisplacementFieldTestDriver
  --compare
  ${ITK_TEST_OUTPUT_DIR}/transformedImage.nii
  ${ITK_TEST_OUTPUT_DIR}/warpedImage.nii
  --compareNumberOfPixelsTolerance
  20
  itkTransformToDisplacementFieldFilterTest1
  ${ITK_TEST_OUTPUT_DIR}/transformedImage.nii
  ${ITK_TEST_OUTPUT_DIR}/warpedImage.nii
  1
)
itk_add_test(
  NAME
  itkDisplacementFieldTransformCloneTest
  COMMAND
  ITKDisplacementFieldTestDriver
  itkDisplacementFieldTransformCloneTest
)
itk_add_test(
  NAME
  itkExponentialDisplacementFieldImageFilterTest
  COMMAND
  ITKDisplacementFieldTestDriver
  itkExponentialDisplacementFieldImageFilterTest
)
